Socket
Socket
Sign inDemoInstall

@accusoft/prizmdoc-rest-client

Package Overview
Dependencies
9
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @accusoft/prizmdoc-rest-client

**(BETA)** HTTP client designed to simplify interactions with PrizmDoc Server. Specifically:


Version published
Weekly downloads
66
increased by83.33%
Maintainers
1
Install size
238 kB
Created
Weekly downloads
 

Readme

Source

prizmdoc-rest-client (BETA)

(BETA) HTTP client designed to simplify interactions with PrizmDoc Server. Specifically:

  1. Automatically handles affinity concerns
  2. Provides a way to easily poll for process completion

Installation

npm install @accusoft/prizmdoc-rest-client

Example Usage

Here's an example demonstrating converting a JPEG to PDF:

const PrizmDocRestClient = require('@accusoft/prizmdoc-rest-client');
const fs = require('fs');

async function main() {
  // Construct an instance of the PrizmDocRestClient.
  const prizmdocServer = new PrizmDocRestClient({
    baseUrl: 'https://api.accusoft.com',
    headers: {
      'Acs-Api-Key': 'YOUR_API_KEY'
    }
  });

  // Create an affinity session for our processing work.
  //
  // You should use an affinity session anytime you have a group
  // of HTTP requests that go together as part of a processing
  // chain. The session ensures that all HTTP requests will
  // automatically use the same affinity (be routed to the same
  // PrizmDoc Server machine in the cluster).
  const session = prizmdocServer.createAffinitySession();

  let res;

  // Create a new work file for the input document
  res = await session.post('/PCCIS/V1/WorkFile', {
    body: fs.readFileSync('input.jpg')
  });

  const inputWorkFile = await res.json();

  // Start a conversion process using the input work file
  res = await session.post('/v2/contentConverters', {
    body: JSON.stringify({
      input: {
        sources: [
          {
            fileId: inputWorkFile.fileId
          }
        ],
        dest: {
          format: 'pdf'
        }
      }
    })
  });

  let process = await res.json();

  // Wait for the process to finish
  process = await session.getFinalProcessStatus(`/v2/contentConverters/${process.processId}`);

  // Did the process error?
  if (process.state !== 'complete') {
    throw new Error(`The process failed to complete: ${JSON.stringify(process, null, 2)}`);
  }

  // Download the output work file and save it to disk.
  res = await session.get(`/PCCIS/V1/WorkFile/${process.output.results[0].fileId}`);
  res.body.pipe(fs.createWriteStream('output.pdf'));
}

main();

FAQs

Last updated on 22 Aug 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc